1.Spring中的IOC是什么意思,为什么要用IOC而不是New来创建实例?

java小课堂

分享人:陈鑫

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

1.背景介绍

spring是一个基于ioc和aop结构的J2EE系统框架。

解决软件开发复杂程度过高的问题,是工程人员将更多的精力集中到业务逻辑上

2.知识剖析

IOC控制反转是spring的基础,inversion of Control。

以前由程序代码直接操控用new,然后调用对象内部的方法,现在变成由spring创建对象。 简单讲就是组件对象控制权的转移,从代码本身转移到了外部容器。是一个从内部到外部的过程。

控制反转中的参与者:

某对象A,普通的任意的对象。

IOC/DI容器,一个实现IOC/DI功能的程序框架。

对象A的外部依赖资源C。资源包括对象或文件。

容器去控制C,控制的是C的创建。未使用容器前,是由对象A主动去创建依赖资源并初始化,而现在这项工作就交给容器了,A只需要等待直接使用就好了。这就是反转。

3.常见问题

IOC/DI差别

差别不大,描述的角度不同。

IOC,从容器的角度出发,容器反向控制应用程序对象的创建。

DI,从应用程序的角度出发,应用程序需要依赖容器注入对象。

4.解决方案

最后总结

控制反转可以降低代码冗余,降低耦合度。

Spring帮助我们更简单地实现功能,可以让我们不必自己去创建所需要的对象实例,它包揽了此项工作,给我们提供了一个容器。我们只需要把东西放进去,随用随取。

5.编码实战

6.扩展思考

7.参考文献

Spring系列之IOC http://blog.csdn.net/hu_zhiting/article/details/51952345

http://how2j.cn/k/spring/spring-ioc-di/87.html

8.更多讨论

鸣谢

感谢观看,如有出错,恳请指正

BY : 陈鑫